/**
 * Copyright (c) 2022 Peking University and Peking University Institute for Computing and Digital Economy
 * OpenSCOW is licensed under Mulan PSL v2.
 * You can use this software according to the terms and conditions of the Mulan PSL v2.
 * You may obtain a copy of Mulan PSL v2 at:
 *          http://license.coscl.org.cn/MulanPSL2
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
 * See the Mulan PSL v2 for more details.
 */

export default {
  common: {
    changeSuccess: "Modification Successful",
    changeFail: "Modification Failed",
    email: "Email",
    platform: "Platform",
    userCount: "User Count",
    balance: "Balance",
    createTime: "Creation Time",
    search: "Search",
    operation: "Operation",
    tenant: "Tenant",
    tenantName: "Tenant Name",
    tenantFullName:"Tenant Name",
    tenantRole: "Tenant Role",
    user: "User",
    userId: "User ID",
    ownerIdOrName:"ownerId Or Name",
    userName: "Username",
    userFullName:"User Name",
    import: "Import",
    fresh: "Refresh",
    account: "Account",
    accountInfo: "Account Information",
    accountName: "Account Name",
    owner: "Owner",
    selectTenant: "Please Select a Tenant",
    selectAccount: "Please Select an Account",
    amount: "Amount",
    unit: "CNY",
    comment: "Comment",
    expirationTime:"expirationTime",
    submit: "Submit",
    time: "Time",
    type: "Type",
    selectType: "Please Select a Type",
    total: "Total",
    sum: "Sum",
    ok: "Confirm",
    prompt: "Prompt",
    role: "Role",
    add: "Add",
    modify: "Modify",
    cancel: "Cancel",
    cluster: "Cluster",
    clusterName:"Cluster Name",
    workId: "Job ID",
    minute: "Minutes",
    name: "Name",
    set: "Settings",
    clusterWorkId: "Cluster Job ID",
    partition: "Partition",
    workName: "Job Name",
    timeSubmit: "Submission Time",
    timeEnd: "End Time",
    more: "More",
    detail: "Details",
    price: "Fee",
    status: "Status",
    changePassword: "Change Password",
    changeEmail: "Change Email",
    platformRole: "Platform Role",
    illustrate: "Explanation",
    userInfo: "User Information",
    loginPassword: "Login Password",
    historyJob: "Historical Jobs",
    tenantInfo: "Tenant Information",
    admin: "Administrator",
    accountCount: "Account Count",
    tenantBalance: "Tenant Balance",
    defaultAccountBlockThreshold: "Default Account Block Threshold",
    jobBillingTable: "Job Pricing Table",
    operationLog: "Operation Log",
    unfinishedJob: "Running Jobs",
    finishedJobs: "Completed Jobs",
    userList: "User List",
    platformInfo: "Platform Information",
    platformAdmin: "Platform Administrator",
    platformFinancialStaff: "Platform Financial Staff",
    tenantCount: "Tenant Count",
    accountList: "Account List",
    tenantList: "Tenant List",
    addFail: "Add Failed",
    addSuccess: "Add Successful",
    jobBilling: "Price",
    accountOwner: "Account Owner",
    accountStatus: "Account Status",
    block: "Blocked",
    accountBalance: "Balance",
    normal: "Available",
    view: "View",
    waitingMessage: "The operation may take some time. Your patience is appreciated.",
    timeUnits: {
      minute: "MINUTE",
      hour: "HOUR",
      day: "DAY",
    },
    export: "Export",
    exportMaxDataErrorMsg: "Too many details to export, up to {} can be exported, please reselect!",
    exportNoDataErrorMsg: "Export is empty, please reselect",
    blockThresholdAmount: "Block Threshold Amount",
    other: "Other",
    noAvailableClusters: "There are currently no available clusters."
    + " Please try again later or contact the administrator.",
  },
  dashboard: {
    title: "Dashboard",
    account: {
      title: "Account Information",
      state: "Status",
      balance: "Available Balance",
      alert: "You do not belong to any account.",
    },
    job: {
      title: "Running Job List",
      extra: "View All Running Jobs",
      jobTable: {
        cluster: "Cluster",
        jobId: "Job ID",
        account: "Account",
        name: "Job Name",
        partition: "Partition",
        qos: "QOS",
        nodes: "Node Count",
        cores: "Core Count",
        state: "Status",
        time: "Running/Pendding Time",
        reason: "Reason",
        limit: "Time Limit",
        others: "More",
      },
      none: "No data available",
    },
  },

  footer: "Powered by OpenSCOW",

  runningJob: {
    title: "My Running Jobs",
  },
  layouts: {
    route: {
      common: {
        operationLog: "Operations",
        statistic: "Statistic",
      },
      navLinkTextPortal: "HPC",
      navLinkTextAI: "AI",
      dashboard: "Dashboard",
      user: {
        firstNav: "My SCOW",
        runningJobs: "Running Jobs",
        finishedJobs: "Completed Jobs",
        clusterPartitions: "Cluster and Partition Information",
      },
      platformManagement: {
        fistNav: "Platform",
        info: "Platform Information",
        importUsers: "Import Users",
        tenantsManagement: "Tenants",
        tenantsList: "Tenants",
        createTenant: "Create Tenant",
        usersList: "Users",
        jobBillingTable: "Pricing Table",
        financeManagement: "Finance Management",
        tenantPay: "Tenant Pay",
        payments: "Pay Records",
        accountChargeRecords: "Account Consumption Records",
        systemDebug: "Platform Operation",
        statusSynchronization: "Block Status Synchronization",
        jobSynchronization: "Jobs Synchronization",
        resourceManagement: "Resource Management",
        clusterManagement: "Cluster Management",
        accountList: "Accounts",
        clusterMonitor: "Monitor",
        resourceStatus: "Status",
        alarmLog: "Alarms",
      },
      tenantManagement: {
        firstNav: "Tenant",
        info: "Tenant Information",
        manageJobPrice: "Pricing Table",
        runningJobs: "Runnning Jobs",
        finishedJobs: "Completed Jobs",
        userManagement: "Users",
        userList: "Users",
        createUser: "Create User",
        jobTimeLimit: "Adjust Job Time Limit",
        storage: "Adjust User Storage Space",
        accountManagement: "Account Management",
        accountList: "Accounts",
        createAccount: "Create Account",
        whitelist: "Account Whitelist",
        financeManagement: "Finance Management",
        accountPay: "Account Pay",
        financePayments: "Tenant Pay Records",
        accountPayments: "Account Pay Records",
        accountChargeRecords: "Account Consumption Records",
      },
      accountManagement: {
        firstNav: "Accounts",
        info: "Information",
        runningJobs: "Running Jobs",
        finishedJobs: "Completed Jobs",
        userManagement: "Users",
        pay: "Pay Records",
        cost: "Consumption Records",
      },
    },
  },
  pageComp: {
    accounts: {
      accountTable: {
        allAccount: "All Accounts",
        debtAccount: "Debt ",
        blockedAccount: "Blocked ",
        frozenAccount: "Frozen ",
        normalAccount: "Available ",
        account: "Account",
        accountName: "Account Name",
        owner: "Owner",
        ownerIdOrName: "Owner ID or Name",
        tenant: "Tenant",
        blockThresholdAmount: "Block Threshold",
        blockThresholdAmountTooltip: "The account will be blocked "
        + "when the balance is less than the block threshold.",
        comment: "Comment",
        expirationTime:"expirationTime",
        status: "Status",
        statusTooltip: "Status:",
        statusFrozenTooltip: "Frozen: The account has been frozen by the account administrator "
        + "and cannot submit jobs through this account.",
        statusBlockedTooltip: "Blocked: The account has been blocked by the tenant administrator or "
        + "platform administrator and cannot submit jobs through this account.",
        statusDebtTooltip: "Debt: The account balance is less than or equal to the blocking threshold, "
        + "and jobs cannot be submitted through this account.",
        statusNormalTooltip: "Available: The account status is not blocked or frozen, and the account "
        + "balance is greater than the blocking threshold; or the account is already in the whitelist.",
        mangerMember: "Manage Members",
        blocked: "Blocked",
        frozen:"Frozen",
        debt: "Debt",
        normal: "Available",
        unit: "CNY",
        unblockConfirmTitle: "Confirm Unblock of User?",
        unblockConfirmContent: "Do you wish to unblock account {} within tenant {}?",
        unblockSuccess: "Account unblocking successful!",
        unblockFail: "Account unblocking failed!",
        unblockError: "Account {} has insufficient balance. "
        + "You can add it to the whitelist or unblock by adding funds.",
        block: "Block",
        unblock: "Unblock",
        blockConfirmTitle: "Confirm Account Block?",
        blockConfirmContent: "Do you wish to block account {} within tenant {}?",
        blockSuccess: "Account blocking successful!",
        blockFail: "Account blocking failed!",
      },
      setBlockThresholdAmountModal: {
        setSuccess: "Set Successfully",
        setFail: "Set Failed",
        setAmount:"Set block threshold",
        blockThresholdAmount: "Block Threshold",
        defaultBlockThresholdAmount: "Default Block Threshold Amount",
        curBlockThresholdAmount: "Current Block Threshold: ",
        curDefaultBlockThresholdAmount: "Current Tenant Default Block Threshold",
        useDefaultBlockThresholdAmount: "Use tenant default block threshold",
        confirmUseDefaultBlockThresholdAmount:
        "Are you sure you want to use the tenant default block threshold?",
      },
    },
    admin: {
      allAlarmLogsTable: {
        firing: "Triggering",
        resolved: "Resolved",
        serialNumber: "Serial Number",
        fingerPrint: "Finger Print",
        status: "Status",
        alarmLevel: "Alarm Level",
        description: "Description",
        firingTime: "Trigger Time",
        resolvedTime: "Resolved Time",
      },
      allTenantsTable: {
        tenantName: "Tenant Name",
        accountCount: "Account Count",
      },
      allUserTable: {
        allUsers: "All Users",
        platformAdmin: "Platform Administrators",
        platformFinance: "Finance Staff",
        idOrName: "User ID or Name",
        userId: "User ID",
        name: "Name",
        tenant: "Tenant",
        availableAccounts: "Available Accounts",
        roles: "Platform Roles",
        notExist: "User does not exist",
        notAvailable: "This feature is not available in the current configuration",
        success: "Modification successful",
        fail: "Modification failed",
        changePassword: "Change Password",
        changeTenant: "Change Tenant",
      },
      createTenantForm: {
        prompt: "Please enter the tenant name and create a new user as the administrator for this tenant.",
        adminInfo: "Administrator Information",
        userEmail: "User Email",
        userPassword: "User Password",
        confirmPassword: "Confirm Password",
        userType: "User Type",
        newUser: "New User",
        existingUser: "Existing User",
        createTenantWarningInfo: "Please ensure that the user no longer has any associated accounts",
      },
      ImportUsersTable: {
        selectAccount: "Please select an account!",
        specifyOwner: "Specify an owner for each account.",
        incorrectFormat: "Incorrect data format.",
        importSuccess: "Import successful.",
        selectCluster: "Select a cluster to import accounts into the default tenant on a per-account basis.",
        alreadyExist: "Account already exists in SCOW.",
        notExist: "Account does not exist in SCOW and will be imported into SCOW.",
        partNotExist: "Some users in the account do not exist in SCOW and will be imported as new users.",
        selectOwner: "Please select an owner.",
        importStatus: "Import Status",
        alreadyImport: "Already imported",
        partImport: "Account already imported, some users not imported.",
        notImport: "Not imported",
        userList: "User List",
        addWhitelist: "Add all accounts to the whitelist.",
      },
      statisticCard: {
        total: "Total ",
      },
      tenantChargeForm: {
        loadType: "Loading used types...",
        charging: "Charging...",
        accountNotFound: "Account not found.",
        chargeFinish: "Charging completed!",
      },
      changeTenantModal: {
        modifyTenant: "Modify Tenant",
        newTenant: "New Tenant",
        originalTenant: "Original Tenant",
        userName: "User Name",
        userId: "User ID",
        newTenantNameRequired: "Please enter a new tenant",
        userNotFound: "User Not Exist",
        tenantNotFound: "Tenant Not Exist",
        userStillMaintainsAccountRelationship: "User still maintains account relationship",
        userAlreadyExistInThisTenant: "User already exists in this tenant",
        createTenantWarningInfo: "Please ensure that the user no longer has any associated accounts",
      },
    },
    commonComponent: {
      exportFileModal: {
        title: "Export Data",
        subTitle: "Select the fields to export",
        errorMsg: "Please select one field at least!",
        encoding: "Encoding",
      },
      paymentTable: {
        total: "Total",
        sum: "Sum",
        paymentDate: "Payment Date",
        paymentAmount: "Payment Amount",
        ipAddress: "IP Address",
        operatorId: "Operator ID",
        searchTypePlaceholder:"Multiple, please separate with commas",
      },
    },
    dashboard: {
      storageCard: {
        storage: "Storage",
        alreadyUsed: "Already Used",
        totalLimited: "Total Limit",
        nowUsed: "Current Usage",
      },
      storageSection: {
        storageStatus: "Storage Status",
      },
    },
    finance: {
      AccountSelector: {
        freshList: "Refresh account list",
      },
      chargeForm: {
        loadType: "Loading used types...",
        charging: "Charging...",
        notFound: "Account not found.",
        chargeFinished: "Charging finished!",
      },
      chargeTable: {
        time: "Deduction Date",
        amount: "Deduction Amount",
        ownerIdOrName:"ownerId Or Name",
      },
    },
    init: {
      initAdminForm: {
        alreadyExist: "User already exists.",
        cannotAdd: "User already exists in the SCOW and cannot be added again.",
        notExist: "User does not exist in the authentication system.",
        confirm: "User does not exist. Please confirm if the user ID is correct.",
        existText: "The user already exists in the authentication system. The password you enter "
        + "here will not be used; the new user's password will be the current password in the "
        + "authentication system. Confirm adding as the initial administrator?",
        notExistText: "User does not exist in the authentication system. Confirm creating this user "
        + "and adding as the initial administrator?",
        cannotConfirmText1: "Unable to confirm whether the user exists in the authentication system. "
        + "An attempt will be made to create the user in the authentication system. "
        + "If the user already exists in the authentication system, the password you enter here "
        + "will not be used; the new user's password will be the current password in the authentication system. ",
        cannotConfirmText2: "Unable to confirm whether the user exists in the authentication system, "
        + "and the current authentication system does not support user creation. "
        + "Please confirm that the user already exists in the authentication system. "
        + "Confirmation will directly add the user to the database, and the password you enter "
        + "here will not be used; the new user's password will be the current password in the authentication system. ",
        addFail: "Add failed.",
        userExist: "This user exists in the SCOW database.",
        addSuccess: "Add successfully.",
        addDb: "This user exists in the authentication system and has been successfully added to the SCOW database. ",
        addFinish: "Add completed!",
        createFail: "Failed to create user.",
        initAdmin: "You can create an initial administrator user here. ",
        addAdmin: "The users added here are initial administrators, located in the default tenant, "
        + "and will automatically have the platform administrator and default tenant tenant administrator roles. ",
        platFormAdmin: "Platform Administrator ",
        and: " and ",
        defaultTenant: "Default Tenant Tenant Administrator ",
        createText1: "The current authentication system supports user creation. You can choose to add "
        + "an existing user from the authentication system or create a completely new user. "
        + "The system will create this user in the authentication system.",
        createText2: "The current authentication system does not support user creation. Please confirm "
        + "that the user to be added must already exist in the authentication system, and the user ID "
        + "must match the user ID in the authentication system.",
      },
      initImportUsersTable: {
        importUser: "You can import existing users here. See the ",
        document: "document ",
        learn: "to learn about the system user model and how to import user information.",
        useMore: "If you use SCOW to manage multiple clusters, SCOW system requires that multiple "
        + "clusters have identical user account information. You only need to import user information "
        + "from one cluster.",
      },
      initJobBillingTable: {
        set: "You can set the default job pricing table here. You must set prices for all items "
        + "to complete the initialization.",
      },
      initLayout: {
        importUser: "Import Users",
        userManager: "User Account Management",
        create: "Create Initial Administrator User",
        edit: "Edit Job Pricing Table",
        Incomplete: "Incomplete Pricing Table",
        set: "Please set prices for each job billing item before completing initialization.",
        confirm: "Confirm completion of initialization",
        confirmText: "Once initialization is complete, you will not be able to return to this page to reinitialize.",
        finish: "Initialization completed!",
        goLogin: "Click to confirm and go to login",
        init: "System Initialization",
        complete: "Complete Initialization",
      },
      initUsersAndAccountsTable: {
        platformRole: "Platform Role",
        tenantRole: "Tenant Role",
        accountAffiliation: "Affiliated Account",
        defaultTenant: "You can manage users and accounts under the default tenant in the current system here, "
        + "and set a user as ",
        initAdmin: "Initial Administrator",
        set: " who serves as both a tenant administrator and a platform administrator.",
        idOrName: "User ID or Name",
      },
    },
    job: {
      ChangeJobTimeLimitModal: {
        currentTimeLimit: "Current Job Time Limit",
        modifyLimit: "Modify Job Time Limit",
        success: "All modifications to time limits were successful.",
        fail: "Some modifications to job time limits failed.",
        setLimit: "Set Job Time Limit",
        modifyWork: "Failed Job Modifications",
        timeLimeError: "The job time limit must exceed the job's actual runtime.",
        timeExplanation: "The time set here represents the total duration of the job execution.",
      },
      editableJobBillingTable: {
        alreadyUsed: "This ID has already been used.",
        addSuccess: "Added successfully!",
        edit: "Edit Job Pricing Item",
        defaultPrice: "Default Pricing Item",
        path: "Billing Path",
        id: "Billing Item ID",
        strategy: "Billing Strategy",
        price: "Price (CNY)",
        name: "Full Name of Partition",
        nodes: "Number of Nodes per Partition",
        cores: "Number of Cores per Node",
        gpus: "Number of GPUs per Node",
        memory: "Memory per Node (MB)",
        now: "Current Billing Item",
        unset: "Not Set",
      },
      historyJobDrawer: {
        list: "Node Used",
        timeSubmit: "Submission Time",
        timeStart: "Start Time",
        timeEnd: "End Time",
        gpus: "GPUs Used",
        cpusReq: "Requested Number of CPUs",
        cpusAlloc: "Allocated Number of CPUs",
        memReq: "Requested Memory (MB)",
        memAlloc: "Allocated Memory (MB)",
        nodesReq: "Requested Number of Nodes",
        nodesAlloc: "Allocated Number of Nodes",
        timeLimit: "Job Time Limit (Minutes)",
        timeUsed: "Job Execution Time (Seconds)",
        timeWait: "Job Wait Time (Seconds)",
        recordTime: "Record Time",
        workFee: "Job Billing (CNY)",
        tenantFee: "Tenant Billing (CNY)",
        platformFee: "Platform Billing",
        detail: "Job Details",
      },
      historyJobTable: {
        noAuth: "You do not have permission to view this information.",
        batchSearch: "Batch Search",
        jobEndTime: "Job End Time",
        precision: "Precision Search",
        platformPrice: "Platform Billing",
        tenantPrice: "Tenant Billing",
        jobNumber: "Number of Jobs",
      },
      jobBillingManagementTable: {
        priceId: "Billing Item ID",
        path: "Billing Path",
        tenant: "Tenant",
      },
      manageJobBillingTable: {
        itemId: "Price Item ID",
        price: "Price (CNY)",
        abandon: "Abandoned",
        notExpanded: "Hide Historical Billing Items",
        expanded: "Show Historical Billing Items",
        priceItem: "Billing Item",
        text: "A cluster, partition, and QOS collectively constitute a billing item. Billing methods "
        + "and prices can be set for billing items.",
        executing: "Executing",
        unset: "Not Set",
        alreadyUsed: "This ID has already been used!",
        addSuccess: "Added successfully!",
        setPrice: "Set Billing Price",
        object: "Object",
        newItemId: "New Price Item ID",
      },
      runningJobDrawer: {
        nodes: "Number of Nodes",
        cores: "Number of Cores",
        gpus: "Number of GPU Cards",
        nodesOrReason: "Explanation",
        runningOrQueueTime: "Running/Pending Time",
        timeLimit: "Job Time Limit (Minutes)",
        detail: "Unfinished Job Details",
      },
      runningJobTable: {
        extendLimit: "Extend Job Time Limit for Selected Jobs",
        batch: "Batch Search",
        precision: "Precision Search",
        nodes: "Number of Nodes",
        cores: "Number of Cores",
        time: "Running/Pending Time",
        reason: "Reason",
        limit: "Time Limit",
        changeLimit: "Modify Time Limit",
        gpus: "Number of GPU Cards",
        finishJobButton: "Finish",
        finishJobConfirm: "Are you sure you want to finish this job?",
        finishJobSuccess: "Request to finish the job has been submitted!",
      },
    },
    profile: {
      changeEmailFail: "Failed to change email.",
      changeEmailSuccess: "Email changed successfully!",
      changeEmail: "Change Email",
      oldEmail: "Old Email",
      newEmail: "New Email",
      inputEmail: "Please enter a new email",
      changePasswordSuccess: "Password changed successfully!",
      oldPasswordWrong: "Incorrect old password!",
      changePassword: "Change Password",
      oldPassword: "Old Password",
      newPassword: "New Password",
      confirmPassword: "Confirm Password",
      userNotExist:"User Not Exist",
      unavailable:"This feature is not available in the current configuration",
    },
    tenant: {
      accountWhitelistTable: {
        whiteList: "Whitelist Count",
        debtSum: "Total Debt",
        joinTime: "Create Time",
        ownerIdOrName: "Owner ID or Name",
        operatorId: "Operator",
        confirmRemoveWhite: "Confirm removing the account from the whitelist?",
        confirmRemoveWhiteText1: "Confirm removing the account ",
        confirmRemoveWhiteText2: " from the whitelist?",
        removeWhiteSuccess: "Successfully removed from the whitelist!",
        removeWhite: "Remove from Whitelist",
        expirationTime:"expirationTime",
      },
      addWhitelistedAccountButton: {
        notExist: "Account does not exist!",
        addSuccess: "Added successfully!",
        addWhiteList: "Add Whitelisted Account",
        expirationTime:"expirationTime",
        custom:"Custom",
        oneWeek:"One Week",
        oneMonth:"One Month",
        oneYear:"One Year",
        permanent:"Permanent",
      },
      adminJobTable: {
        batch: "Batch Search",
        precise: "Precision Search",
        jobEndTime: "Job End Time",
        adjust: "Adjust all jobs in search results",
        tenantPrice: "Tenant Billing",
        platformPrice: "Platform Billing",
        jobNumber: "Number of Jobs: ",
        tenantPriceSum: "Total Tenant Billing: ",
        platformPriceSum: "Total Platform Billing: ",
      },
      adminUserTable: {
        allUsers: "All Users",
        tenantAdmin: "Tenant Administrator",
        tenantFinance: "Financial Staff",
        idOrName: "User ID or Name",
        name:"Name",
        tenantRole: "Tenant Role",
        affiliatedAccountName: "Affiliated Accounts",
        notExist: "User does not exist",
        notAvailable: "This feature is not available in the current configuration",
        changeSuccess: "Modification successful",
        changeFail: "Modification failed",
        changePassword: "Change Password",
      },
      jobPriceChangeModal: {
        tenantPrice: "Tenant Billing",
        platformPrice: "Platform Billing",
        changeJob: "Change Job ",
        jobNumber: "Job Number",
        newJob: "New Job ",
        reason: "Reason for Modification",
        modifyButton: "Modify ",
      },
      tenantSelector: {
        fresh: "Refresh Tenant List",
      },
      changeDefaultAccountBlockThresholdModal: {
        defaultAccountBlockThresholdAmount: "Default Account Block Threshold Amount",
        setAmount: "Set Default Account Block Threshold",
      },
    },
    user: {
      addUserButton: {
        addUser: "Add User",
        notMatch: "The user ID and name you entered do not match.",
        alreadyBelonged: "Already Belonged to Another Tenant",
        notExist: "Tenant or Account Does Not Exist",
        will: "Will be in",
        createModal: "seconds to open the create user interface",
        createFirst: "User does not exist. Please create a user first",
        addSuccess: "Added Successfully!",
      },
      createUserForm: {
        email: "User Email",
        password: "User Password",
        confirm: "Confirm Password",
      },
      createUserModal: {
        alreadyExist: "This user ID already exists!",
        createUser: "Create User",
        notExist: "User does not exist. Please enter new user information to create the user and add it "
        + "to the account.",
        email: "User Email",
        password: "User Password",
        confirm: "Confirm Password",
      },
      jobChargeLimitModal: {
        setSuccess: "Set Successfully",
        priceLimited: "User Job Charge Limit",
        alreadyUsed: "Currently Used/Total Limit",
        cancelPriceLimited: "Cancel Job Charge Limit",
        confirmCancelLimited: "Are you sure you want to cancel the job charge limit for this user in this account?",
        cancelAndNotBlock: "Cancel limit while unblocking",
        cancelSuccess: "Cancellation Successful!",
        cancelLimited: "Cancel Limit",
        unset: "Unset",
        changeLimited: "Change Limit to",
        setLimited: "Set Limit",
      },
      userTable: {
        block: "Block",
        blocked: "Blocked",
        normal: "Available",
        quotaExceeded: "Quota Exceeded",
        statusExplanation: "Status:",
        blockedExplanation: "Blocked: The user has been blocked by the account administrator or the account owner, "
          + "preventing the selection of this account for job submission.",
        quotaExceededExplanation: "Quota Exceeded: The user is not blocked, but the used quota is greater than or "
        + "equal to the user's quota limit, preventing the selection of this account for job submission.",
        normalExplanation: "Available: The user is not blocked, and the used quota is less than the user's "
        + "quota limit, allowing the selection of this account to submit jobs.",
        admin: "Admin",
        user: "Regular User",
        role: "Role",
        alreadyUsed: "Used Quota/User Limit",
        none: "None",
        limitManage: "Limit Management",
        confirmNotBlock: "Confirm unblocking the user?",
        confirmUnsealText1: "Confirm unsealing user from account ",
        confirmUnsealText2: " ",
        confirmUnsealText3: "?",
        unsealSuccess: "User unsealed successfully!",
        unseal: "Unblock",
        confirmBlock: "Confirm blocking user?",
        confirmBlockText1: "Confirm blocking user from account ",
        confirmBlockText2: " ",
        blockSuccess: "User blocked successfully!",
        confirmCancelAdmin: "Confirm revoking admin privileges",
        confirmCancelAdminText1: "Confirm revoking user ",
        confirmCancelAdminText2: "'s admin privileges in account ",
        confirmCancelAdminText3: " ?",
        operateSuccess: "Operation successful!",
        cancelAdmin: "Revoke Admin Privileges",
        confirmGrantAdmin: "Confirm granting admin privileges",
        confirmGrantAdminText1: "Confirm granting user ",
        confirmGrantAdminText2: "'s admin privileges in account ",
        grantAdmin: "Grant Admin Privileges",
        cannotRemove: "Cannot remove account owner",
        confirmRemove: "Confirm removing user",
        confirmRemoveText: "Confirm removing user from account",
        removeSuccess: "User removed successfully!",
        removerUser: "Remove User",
        cannotRemoverUserWhoHaveRunningJobFromAccount: "The user still has a job running, "
          + " and the user has been blocked. Please wait for the job to end or end the job manually before moving out.",
      },
    },
  },
  component: {
    errorPages: {
      notAllowedPage: "Access to this page is not allowed",
      systemNotAllowed: "The system does not allow you to access this page.",
      notAllowed: "Access Not Allowed",
      needLogin: "Login Required",
      notLogin: "You are not logged in or your login session has expired. You need to log in to access this page.",
      login: "Login",
      notExist: "Does Not Exist",
      pageNotExist: "The page you requested does not exist.",
      serverWrong: "Server Error",
      sorry: "Sorry, there was a server error. Please refresh and try again.",
      clusterNotAvailable: "The cluster you are currently accessing is unavailable or there are no available clusters. "
      + " Please try again later or contact the administrator.",
    },
    others: {
      seeDetails: "For details, please refer to the documentation",
      modifyUser: "Modify User",
      password: "'s Password",
      inputNewPassword: "Please enter a new password",
      newPassword: "New Password",
      confirmPassword: "Confirm Password",
      selectCluster: "Select Cluster",
      partitionFullName:"Full Name of Partition",
      nodes: "Number of Partition Nodes",
      cores: "Number of Cores per Node",
      gpus: "Number of GPUs per Node",
      mem: "Memory per Node (MB)",
      price: "Price per Unit (CNY)",
      notDefined: "Not Defined",
      description: "Description",
      operationType: "Operation Type",
      operationResult: "Operation Result",
      operatorUserId: "Operator ID",
      operationTime: "Operation Time",
      operationCode: "Operation Code",
      operationDetail: "Operation Details",
      operatorIp: "Operator IP",
      alreadyIs: "User is already in this role",
      notExist: "User does not exist",
      notAuth: "User does not have permission",
      setSuccess: "Set Successfully",
      cannotCancel: "Cannot cancel your own platform admin role",
      alreadyNot: "User is already not in this role",
      selectRole: "Select Role",
      customEventType: "Custom Event Type",
    },
  },
  page: {
    noAccount: {
      resultTitle: "No Manageable Accounts",
      extraMessage: "Please visit http://hpc.pku.edu.cn/guide.html for account opening instructions.",
    },
    _app: {
      multiClusterOpErrorTitle: "Operation Failed",
      multiClusterOpErrorContent: "Multiple cluster operations encountered errors, and some clusters were not "
      + "synchronized with the modifications.",
      adapterConnErrorContent: "The {} cluster is currently unreachable. Please try again later. ",
      effectErrorMessage: "Server error occurred!",
      noActivatedClusters: "No available clusters. Please try again after refreshing the page.",
      notExistInActivatedClusters: "The cluster(s) being queried may have been deactivated. "
      + "Please try again after refreshing the page.",
      noClusters: "Unable to find cluster configuration files. Please contact the system administrator.",
    },
    profile: {
      index: {
        accountInfo: "Account Information",
      },
    },
    user: {
      partitions: {
        getBillingTableErrorMessage: "Failed to retrieve cluster and partition information. "
        + "Please contact the administrator.",
        partitionInfo: "Partition Information",
        loading: "Loading partitions...",
      },
      operationLogs: {
        userOperationLog: "User Operation Log",
      },
      historyJobs: {
        userCompletedJob: "User's Completed Jobs",
      },
    },
    tenant: {
      info: {
        tenantFinanceOfficer: "Tenant Finance Officer",
      },
      jobBillingTable: {
        manageTenantJobPriceTable: "Manage Tenant Job Price Table",
      },
      storage: {
        increase: "Increase",
        decrease: "Decrease",
        set: "Set to",
        userNotFound: "User not found",
        balanceChangeIllegal: "Illegal balance change",
        editSuccess: "Edit Successful!",
        inputUserIdAndCluster: "Please enter User ID and Cluster",
        currentSpace: "Current Space",
        searching: "Searching...",
        clickSearch: "Please click to search",
        storageChange: "Storage Change",
        selectSetTo: "Select Set To",
        adjustUserStorageSpace: "Adjust User Storage Space",
      },
      users: {
        list: {
          title: "User List",
        },
        create: {
          userExist: "User Already Exists",
          userExistMessage: "The user already exists in the SCOW and cannot be added again.",
          userExistAuth: "User already exists in the authentication system",
          userNotExistAuth: "User does not exist in the authentication system",
          unableDetermineUserExistAuth: "Unable to determine if the user exists in the authentication system",
          userExistAuthMessage: "The user already exists in the authentication system. The password you enter "
          + "here will not be effective, and the new user's password will be the current password of the "
          + "existing user in the authentication system. Click 'Confirm' to add this user directly to the SCOW "
          + "database.",
          userNotExistAuthMessage: "Click 'Confirm' to create this user in both the SCOW  and the "
          + "authentication system.",
          userExistInSCOWDatabaseMessage: "This user already exists in the SCOW",
          userExistAndAddToSCOWDatabaseMessage: "This user already exists in the authentication system "
          + "and has been successfully added to the SCOW",
          createUserFail: "Failed to create user",
          addCompleted: "Added Successfully!",
          crateUser: "Create User",
        },
      },
      finance: {
        payments: {
          title: "Tenant Payment Records",
        },
        payAccount: {
          title: "Account Payment",
        },
        accountPayments: {
          title: "Account Payment Records",
        },
        accountChargeRecords: {
          title: "Account Consumption Records",
        },
      },
      accounts: {
        whitelist: {
          title: "Whitelisted Accounts",
          whitelistAccountList: "Whitelisted Accounts",
        },
        list: {
          title: "Account List",
        },
        create: {
          tenantNotExistUser: "User {} does not exist in tenant {}.",
          accountNameOccupied: "Account name is already occupied",
          userIdAndNameNotMatch: "User ID and name do not match.",
          createSuccess: "Created Successfully!",
          ownerUserId: "Owner User ID",
          ownerName: "Owner Name",
          remark: "Remark",
          createAccount: "Create Account",
        },
        accountName: {
          users: {
            userId: {
              jobs: {
                userExecJobList: "Job List Executed by {} in {}",
              },
            },
            index: {
              cannotManageUser: "You cannot manage users for account {}.",
              userInAccount: "Users in Account {}",
            },
          },
        },
      },
    },
    init: {
      systemInitialized: "System Initialized",
      unableReinitialize: "The system has already been initialized and cannot be reinitialized!",
    },
    admin: {
      monitor: {
        alarmLog: {
          alarmLog: "Alarm Log",
          firingTime: "Trigger Time",
          firingTimePrompt: "Trigger time of the alarm",
          status: "Status",
          selectAll: "Select All",
          firing: "Triggering",
          resolved: "Resolved",
          search: "Search",
          refresh: "Refresh",
        },
        resourceStatus: {
          resourceStatus: "Resource Status",
        },
      },
      operationLogs: {
        platformOperationLog: "Platform Operation Log",
      },
      jobBilling: {
        jobBillingPriceTable: "Job Billing Price Table",
        managementObject: "For ",
      },
      importUsers: {
        importUserInfo: "Import User Information",
      },
      tenants: {
        create: {
          adminExist: "Admin User Already Exists",
          adminExistMessage: "The admin user already exists in the SCOW database and cannot be added again.",
          adminNotExistAuth: "Admin user does not exist in the authentication system",
          adminNotExistAuthMessage: "Admin user does not exist. Please confirm that the admin user ID is correct.",
          adminExistAuthMessage: "The admin user already exists in the authentication system. The password you enter "
          + "here will not be effective, and the new user's password will be the current password of the existing user "
          + "in the authentication system. Confirm adding as a new tenant administrator?",
          adminNotExistAuthAndConfirmCreateMessage: "Admin user does not exist in the authentication system. "
          + "Do you want to confirm creating this user and adding as a new tenant administrator?",
          unableConfirmAdminExistInAuthMessage: "Unable to confirm whether the admin user exists in the authentication "
          + "system and will attempt to create it in the authentication system."
          + "If the user already exists in the authentication system, the password you enter here will not "
          + "be effective, and the new user's password will be the current password of the existing user "
          + "in the authentication system.",
          unableConfirmAdminExistInAuthAndUnableCreateMessage: "Unable to confirm whether the admin user exists "
          + "in the authentication system, and the current authentication system does not support creating users. "
          + "Please confirm that this user already exists in the authentication system. "
          + "Confirmation will add it directly to the database, and the password you enter here will not be effective. "
          + "The new user's password will be the current password of the existing user in the authentication system.",
          existInSCOWDatabase: "This {} already exists in the SCOW database",
          createTenantSuccessMessage: "Tenant created successfully, and the admin user exists in the authentication "
          + "system and has been successfully added to the SCOW database",
          addCompleted: "Added Successfully!",
          createTenantFailMessage: "Failed to create tenant",
          createTenant: "Create Tenant",
          unavailable:"This feature is not available in the current configuration",
          userNotFound: "User Not Exist",
          tenantExist: "Tenant Already Exists",
          userStillMaintainsAccountRelationship: "User still maintains account relationship",
        },
      },
      systemDebug: {
        slurmBlockStatus: {
          syncUserAccountBlockingStatus: "Synchronize User Account Blocking Status",
          alertInfo: "SCOW will regularly synchronize the blocking status of accounts and users to the scheduler. "
          + "You can click Sync Now to perform a manual synchronization.",
          periodicSyncUserAccountBlockStatusInfo: "Periodically Synchronize Scheduler Account And User Blocked Status",
          syncAlreadyStarted:
            "Synchronization is already started. Please wait for its completion before starting a new run.",
          turnedOn: "Turned On",
          paused: "Paused",
          stopSync: "Stop Synchronization",
          startSync: "Start Synchronization",
          jobSyncCycle: "Block Status Synchronization Cycle",
          lastSyncTime: "Last Run Time",
          notSynced: "Not Synchronized",
          syncSuccess: "Refreshed Successfully",
          partialSyncSuccess: "Synchronization failed for some users/accounts:",
          syncBlockedFailedAccount: "Accounts that failed to be synchronously blocked:",
          syncUnblockedFailedAccount: "Accounts that failed to be synchronously unblocked:",
          syncBlockedFailedUserAccount: "Synchronize the data of failed blocked users in the account:",
          syncSchedulerBlockingStatusNow: "Refresh Scheduler User Blocking Status",
        },
        fetchJobs: {
          jobInfoSync: "Job Information Synchronization",
          alertMessage: "SCOW will periodically synchronize job information from the cluster. "
          + "You can click 'Sync Now' to manually synchronize immediately.",
          periodicSyncJobInfo: "Periodic Job Info Synchronization",
          turnedOn: "Turned On",
          paused: "Paused",
          stopSync: "Stop Synchronization",
          startSync: "Start Synchronization",
          jobSyncCycle: "Job Synchronization Cycle",
          lastSyncTime: "Last Sync Time",
          notSynced: "Not Synchronized",
          jobSyncSuccessMessage: "Job synchronization completed, synchronized to {} new records.",
          syncJobNow: "Sync Now",
        },
      },
      resourceManagement: {
        clusterManagement: {
          title: "Cluster Management",
          clusterFilter: "Cluster",
          table: {
            clusterName: "Cluster Name",
            nodesCount: "Total Nodes",
            cpusCount: "Total CPU Cores",
            gpusCount: "Total GPU Cards",
            totalMemMb: "Total Memory Capacity",
            clusterState: "Cluster State",
            errorState: "Error",
            deactivatedState: "Deactivated",
            normalState: "Normal",
            operator: "Operator",
            lastOperatedTime: "Last Operation Time",
            comment: "Comment",
            operation: "Operation",
            activate: "Activate",
            deactivate: "Deactivate",
          },
          activateModal: {
            title: "Activate Cluster",
            content: "Please confirm if you want to activate the cluster with Cluster ID {}, named {}?",
            contentAttention: "Attention: Please manually synchronize platform data after activation!",
            successMessage: "The cluster has been activated.",
            failureMessage: "Failed to activate the cluster. The cluster may have been activated.",
          },
          deactivateModal: {
            title: "Deactivate Cluster",
            content: "Please confirm if you want to deactivate the cluster with Cluster ID {}, named {}?",
            contentInputNotice: "If you confirm the deactivation of the cluster, "
            + "please re-enter the cluster ID and name below.",
            contentAttention: "Attention: After deactivation, the cluster will not be available, "
            + "and all data updates for the cluster will cease!",
            clusterNameForm: "Cluster Name",
            clusterIdForm: "Cluster ID",
            comment: "Deactivation Comment",
            successMessage: "The cluster has been deactivated.",
            failureMessage: "Failed to deactivate the cluster. The cluster may have been deactivated.",
          },
        },
      },
      finance: {
        pay: {
          tenantCharge: "Tenant Charge",
        },
        payments: {
          chargeRecord: "Charge Record",
        },
        accountChargeRecords: {
          title: "Account Consumption Records",
        },
      },
      statistic: {
        dataOverview: "Data Overview",
        dateRange: "Date Range",
        user: "User",
        account: "Account",
        tenant: "Tenant",
        job: "Job",
        charge: "Charge",
        userCount: "User Count",
        newUserCount: "New User Count",
        activeUserCount: "Active User Count",
        chargeOrPayAmount: "Charge/Pay Amount",
        topTenChargedAccount: "Top 10 Charged Account",
        chargeAmount: "Charge Amount",
        topTenPayAccount: "Top 10 Pay Account",
        payAmount: "Pay Amount",
        topTenSubmitJobUser: "Top 10 Submit Job User",
        newJobCount: "New Job Count",
        systemFeatureUsageCount: "System Feature Usage Count",
        topTenPortalFeatureUsageCount: "Portal Feature Usage Count Top Ten",
        topTenMisFeatureUsageCount: "MIS Feature Usage Count Top Ten",
        jobCount: "Job Count",
        usageCount:"count",
        userName: "User Name",
        accountName: "Account Name",
        amount: "Amount",
        yuan: "CNY",
      },
    },
    accounts: {
      accountName: {
        users: {
          title: "Account {} User Management",
        },
        userJob: {
          title: "Jobs Run by User {} in Account {}",
        },
        runningJobs: {
          title: "Unfinished Jobs in Account {}",
        },
        payments: {
          title: "Account {} Payment Records",
        },
        operationLog: {
          title: "Account {} Operation Log",
        },
        historyJobs: {
          title: "Account {} Completed Jobs",
        },
        charges: {
          title: "Account {} Deduction Records",
        },
      },
    },
  },
  operationLog: {
    resultTexts: {
      unknown: "Unknown",
      success: "Success",
      fail: "Failed",
    },
    operationTypeTexts: {
      login: "User Login",
      logout: "User Logout",
      submitJob: "Job Submission",
      endJob: "End Job",
      addJobTemplate: "Save Job Template",
      deleteJobTemplate: "Delete Job Template",
      updateJobTemplate: "Update Job Template",
      shellLogin: "SHELL Login",
      createDesktop: "Create Desktop",
      deleteDesktop: "Delete Desktop",
      createApp: "Create Application",
      createAiTrain: "Create Train Job",
      cancelAiTrainOrApp: "Cancel Train Or App",
      saveImage: "Save Image",
      createFile: "Create File",
      deleteFile: "Delete File",
      uploadFile: "Upload File",
      createDirectory: "Create Directory",
      deleteDirectory: "Delete Directory",
      moveFileItem: "Move or Rename File/Directory",
      copyFileItem: "Copy File/Directory",
      setJobTimeLimit: "Set Job Time Limit",
      createImage:"Create Image",
      updateImage:"Update Image",
      shareImage:"Share Image",
      deleteImage:"Delete Image",
      copyImage:"Copy Image",
      createDataset:"Create Dataset",
      updateDataset:"Update Dataset",
      deleteDataset:"Delete Dataset",
      createDatasetVersion:"Create DatasetVersion",
      updateDatasetVersion:"Update DatasetVersion",
      shareDatasetVersion:"Share DatasetVersion",
      copyDatasetVersion:"Copy DatasetVersion",
      deleteDatasetVersion:"Delete DatasetVersion",
      createAlgorithm:"Create Algorithm",
      updateAlgorithm:"Update Algorithm",
      deleteAlgorithm:"Delete Algorithm",
      createAlgorithmVersion:"Create AlgorithmVersion",
      updateAlgorithmVersion:"Update AlgorithmVersion",
      shareAlgorithmVersion:"Share AlgorithmVersion",
      deleteAlgorithmVersion:"Delete AlgorithmVersion",
      copyAlgorithmVersion:"Copy AlgorithmVersion",
      createModel:"Create Model",
      updateModel:"Update Model",
      deleteModel:"Delete Model",
      createModelVersion:"Create ModelVersion",
      updateModelVersion:"Update ModelVersion",
      shareModelVersion:"Share ModelVersion",
      deleteModelVersion:"Delete ModelVersion",
      copyModelVersion:"Copy ModelVersion",
      createUser: "Create User",
      addUserToAccount: "Add User to Account",
      removeUserFromAccount: "Remove User from Account",
      setAccountAdmin: "Set Account Administrator",
      unsetAccountAdmin: "Unset Account Administrator",
      blockUser: "Block User",
      unblockUser: "Unblock User",
      accountSetChargeLimit: "Set Charge Limit for Account",
      accountUnsetChargeLimit: "Cancel Charge Limit Setting for Account",
      setTenantBilling: "Set Tenant Billing",
      setTenantAdmin: "Set Tenant Administrator",
      unsetTenantAdmin: "Unset Tenant Administrator",
      setTenantFinance: "Set Tenant Financial Personnel",
      unsetTenantFinance: "Unset Tenant Financial Personnel",
      tenantChangePassword: "Tenant Reset User Password",
      createAccount: "Create Account",
      addAccountToWhitelist: "Add Account to Whitelist",
      removeAccountFromWhitelist: "Remove Account from Whitelist",
      accountPay: "Account Pay",
      blockAccount: "Block Account",
      unblockAccount: "Unblock Account",
      importUsers: "Import Users",
      setPlatformAdmin: "Set Platform Administrator",
      unsetPlatformAdmin: "Unset Platform Administrator",
      setPlatformFinance: "Set Platform Financial Personnel",
      unsetPlatformFinance: "Unset Platform Financial Personnel",
      platformChangePassword: "Platform Reset User Password",
      setPlatformBilling: "Set Platform Job Billing",
      createTenant: "Create Tenant",
      tenantPay: "Tenant Pay",
      submitFileItemAsJob: "Script Submission",
      exportUser: "Export User",
      exportAccount: "Export Account",
      exportChargeRecord: "Export Charge Record",
      exportPayRecord: "Export Payment Record",
      exportOperationLog: "Export Operation Log",
      setAccountBlockThreshold: "Set Account Block Threshold",
      setAccountDefaultBlockThreshold: "Set Default Account Block Threshold",
      userChangeTenant: "User Change Tenant",
      customEvent: "Custom Operation Event",
      activateCluster: "Activate Cluster",
      deactivateCluster: "Deactivate Cluster",
      mergeFileChunks: "Merge and upload temporary file blocks",
      initMultipartUpload: "Initial multipart upload file",
    },
    operationDetails: {
      login: "User Login",
      logout: "User Logout",
      submitJob: "Job Submission(Cluster: {}, ID: {})",
      endJob: "Terminate Job (Cluster: {}, ID: {})",
      addJobTemplate: "Save Job Template (Cluster: {}, Template name: {})",
      deleteJobTemplate: "Delete Job Template (Cluster: {}, Template name: {})",
      updateJobTemplate: "Update Job Template (Cluster: {}, Old template name: {}, New template name: {})",
      shellLogin: "Login to {} cluster's {} node",
      createDesktop: "Create Desktop (Cluster: {}, Login Node: {}, Desktop name: {}, Desktop type: {})",
      deleteDesktop: "Delete Desktop (Cluster: {}, Login Node: {}, Desktop ID: {})",
      createApp: "Create application (Cluster: {}, ID: {})",
      createAiTrain: "Create Train (Cluster: {}, ID: {})",
      cancelAiTrainOrApp: "Cancel Train Or App (Cluster: {}, ID: {})",
      saveImage: "Save The Job(ID: {}) as an image (Image: {}, Tag: {})",
      createFile: "Create File: {}",
      deleteFile: "Delete File: {}",
      uploadFile: "Upload File: {}",
      createDirectory: "Create Directory: {}",
      deleteDirectory: "Delete Directory: {}",
      moveFileItem: "Move or Rename File/Folder: {} to {}",
      copyFileItem: "Copy File/Folder: {} to {}",
      setJobTimeLimit: "Set time limit for job (Cluster: {}, ID: {}) to {} minutes",
      createImage: "Add Image (Cluster: {}, ImageId: {}, Tag: {})",
      updateImage: "Update Image (ImageId: {})",
      shareImage: "Share Image (ImageId: {})",
      deleteImage: "Delete Image (ImageId: {})",
      copyImage: "Copy Image (Source ImageId: {}; Target ImageId: {}, Tag: {})",
      createDataset: "Add Dataset (Cluster: {}, DatasetId: {})",
      updateDataset: "Update Dataset (DatasetId: {})",
      deleteDataset: "Delete Dataset (DatasetId: {})",
      createDatasetVersion: "Add Dataset Version (DatasetId: {}, DatasetVersionId: {})",
      updateDatasetVersion: "Update Dataset Version (DatasetId: {}, DatasetVersionId: {})",
      shareDatasetVersion: "Share Dataset Version (DatasetId: {}, DatasetVersionId: {})",
      copyDatasetVersion: "Copy Dataset Version"
      + " (Source DatasetId: {}, Source VersionId: {}; Target DatasetId: {}, VersionId: {})",
      deleteDatasetVersion: "Delete Dataset Version (DatasetId: {}, DatasetVersionId: {})",
      createAlgorithm:"Add Algorithm (Cluster: {}, AlgorithmId: {})",
      updateAlgorithm:"Update Algorithm (AlgorithmId: {})",
      deleteAlgorithm:"Delete Algorithm (AlgorithmId: {})",
      createAlgorithmVersion:"Add Algorithm Version (AlgorithmId: {}, AlgorithmVersionId: {})",
      updateAlgorithmVersion:"Update Algorithm Version (AlgorithmId: {}, AlgorithmVersionId: {})",
      shareAlgorithmVersion:"Share Algorithm Version (AlgorithmId: {}, AlgorithmVersionId: {})",
      deleteAlgorithmVersion:"Delete Algorithm Version (AlgorithmId: {}, AlgorithmVersionId: {})",
      copyAlgorithmVersion: "Copy Algorithm Version"
      + " (Source AlgorithmId: {}, Source VersionId: {}; Target AlgorithmId: {}, VersionId: {})",
      createModel:"Add Model (Cluster: {}, ModelId: {})",
      updateModel:"Update Model (ModelId: {})",
      deleteModel:"Delete Model (ModelId: {})",
      createModelVersion:"Add Model Version (ModelId: {}, ModelVersionId: {})",
      updateModelVersion:"Update Model Version (ModelId: {}, ModelVersionId: {})",
      shareModelVersion:"Share Model Version (ModelId: {}, ModelVersionId: {})",
      deleteModelVersion:"Delete Model Version (ModelId: {}, ModelVersionId: {})",
      copyModelVersion: "Copy Model Version"
      + " (Source ModelId: {}, Source VersionId: {}; Target ModelId: {}, VersionId: {})",
      createUser: "Create User {}",
      addUserToAccount: "Add user {} to account {}",
      removeUserFromAccount: "Remove user {} from account {}",
      setAccountAdmin: "Set user {} as administrator of account {}",
      unsetAccountAdmin: "Unset user {} as administrator of account {}",
      blockUser: "Block user {} in account {}",
      unblockUser: "Unblock user {} in account {}",
      accountSetChargeLimit: "Set charge limit for user {} in account {} to {} yuan",
      accountUnsetChargeLimit: "Unset charge limit for user {} in account {}",
      setTenantBilling: "Set billing item for tenant {} to {} yuan per {}",
      setTenantAdmin: "Set user {} as tenant {} administrator",
      unsetTenantAdmin: "Unset user {} as tenant {} administrator",
      setTenantFinance: "Set user {} as finance personnel of tenant {}",
      unsetTenantFinance: "Unset user {} as finance personnel of tenant {}",
      tenantChangePassword: "Reset login password for user {}",
      createAccount: "Create account {}, owner {}",
      addAccountToWhitelist: "Add account {} to tenant {} whitelist",
      removeAccountFromWhitelist: "Remove account {} from tenant {} whitelist",
      accountPay: "Recharge account {} by {} yuan",
      blockAccount: "Block account {} in tenant {}",
      unblockAccount: "Unblock account {} in tenant {}",
      importUsers1: "Add user to tenant {}, ",
      importUsers2: "Add user {} to account {}",
      setPlatformAdmin: "Set user {} as platform administrator",
      unsetPlatformAdmin: "Unset user {} as platform administrator",
      setPlatformFinance: "Set user {} as platform finance personnel",
      unsetPlatformFinance: "Unset user {} as platform finance personnel",
      platformChangePassword: "Reset login password for user {}",
      createTenant: "Create tenant {}, administrator: {}",
      tenantPay: "Recharge tenant {} by {} yuan",
      setPlatformBilling: "Set platform billing item {} price to {} yuan",
      submitFileItemAsJob: "Cluster: {}, Submit Script: {}",
      tenantExportUser: "Export User List of Tenant {}",
      adminExportUser: "Export User List of Platform",
      tenantExportAccount: "Export Account List of Tenant {}",
      adminExportAccount: "Export Account List of Platform",
      exportAccountChargeRecordOfTenant: "Export Charge Record of Account {} in Tenant {}",
      exportAccountsChargeRecordOfTenant: "Export Charge Record of Accounts {} in Tenant {}",
      exportAllAccountsChargeRecordOfTenant: "Export Charge Record of All Accounts in Tenant {}",
      exportAllAccountsChargeRecordOfAdmin: "Export Charge Record of All Accounts in Platform",
      exportAccountsChargeRecordOfAdmin: "Export Charge Record of Accounts {} in Platform",
      exportAccountChargeRecordOfAdmin: "Export Charge Record of Account {} in Platform",
      exportTenantChargeRecord: "Export Charge Record of Tenant {}",
      exportTenantsChargeRecordOfAdmin: "Export Charge Record of All Tenants in Platform",
      exportAccountPayRecordOfTenant: "Export Payment Record of Account {} in Tenant {}",
      exportAccountsPayRecordOfTenant: "Export Payment Record of Accounts {} in Tenant {}",
      exportAllAccountsPayRecordOfTenant: "Export Payment Record of All Accounts in Tenant {}",
      exportTenantPayRecord: "Export Payment Record of Tenant {}",
      exportTenantsPayRecordOfAdmin:"Export Payment Record of All Tenants in Platform",
      exportOperationLogFromUser: "Export Operation Log of User {}",
      exportOperationLogFromAccount: "Export Operation Log of Account {}",
      exportOperationLogFromTenant: "Export Operation Log of Tenant {}",
      exportOperationLogFromAdmin: "Export Operation Log of Platform",
      setAccountBlockThreshold: "Set the block threshold of account {} to {}",
      setAccountDefaultBlockThreshold: "Set the default block threshold of accounts in Tenant {} to {}",
      unsetAccountBlockThreshold: "Reset the block threshold of account {} to default",
      userChangeTenant: "User {} changes from tenant {} to tenant {}",
      activateCluster: "User {} activates the Cluster: {}",
      deactivateCluster: "User {} deactivates the Cluster: {}",
    },
  },
  userRoles: {
    platformAdmin: "Platform Admin",
    platformFinance: "Platform Financial Officer",
    tenantAdmin: "Tenant Admin",
    tenantFinance: "Financial Officer",
    user: "User",
    owner: "Owner",
    admin: "Admin",
  },
  AmountStrategy: {
    text: "Measurement Method",
    description: "Method to determine the job usage",
    descriptionMaxCpusMem: "Allocation of CPU and Memory",
    descriptionMaxGpuCpus: "Allocation of GPU and CPU",
    descriptionGpu: "GPU Allocation",
    descriptionCpus: "CPU Allocation",
    algorithmMaxCpusMem: "max(cpusAlloc, ceil(memReq / (partitionMemory/partitionCores)))",
    algorithmMaxGpuCpus: "max(gpu, ceil(cpusAlloc / (partitionCores/partitionGPUs)))",
    algorithmGpu: "gpu",
    algorithmCpus: "cpusAlloc",
  },
};
